Python kitabxanalarının birbaşa idxalı (§ 8.14).#

Yalnız Python standart kitabxanası işlənir — heç nə quraşdırmaq
lazım deyil. PyPI paketləri üçün (layihə qovluğunda):

alqor python qur requests numpy

sonra: `gətir python:requests`, `gətir python:numpy kimi np`.

Necə işlətmək#

PowerShell
alqor işlət numuneler\11-python-kitabxanalari.alq

Studio-da: faylı açın və F5 basın. Nümunələr ilk açılışda Sənədlər\Alqor\nümunələr qovluğuna kopyalanır.

Kod#

Alqor
// Nümunə 11 — Python kitabxanalarının birbaşa idxalı (§ 8.14).
// Yalnız Python standart kitabxanası işlənir — heç nə quraşdırmaq
// lazım deyil. PyPI paketləri üçün (layihə qovluğunda):
//
//   alqor python qur requests numpy
//
// sonra: `gətir python:requests`, `gətir python:numpy kimi np`.

gətir python:math.{sqrt, pi kimi PI}
gətir python:statistics kimi st
gətir python:collections.{Counter}
gətir python:datetime.{date, timedelta}
gətir python:fractions.{Fraction}
gətir python:functools.{reduce}
gətir python:json

// ── Riyaziyyat və statistika ─────────────────────────────────────────
yaz("√2 =", sqrt(2))
yaz("Dairənin sahəsi (r=3):", PI * 3 ** 2)

dəyişən ballar = [87, 92, 78, 95, 88, 92]
yaz("Orta:", st.mean(ballar), "| Median:", st.median(ballar),
    "| Moda:", st.mode(ballar))

// ── Python obyektləri: metodlar, indeks, dövr ────────────────────────
dəyişən hərflər = Counter("azərbaycan")
yaz("Ən çox:", hərflər.most_common(2))
yaz("`a` hərfi:", hərflər["a"], "dəfə")

hər hərf, say üçün Counter(["alma", "armud", "alma"]) içində
    yaz("  {hərf}: {say}")
son

// ── Tarix ────────────────────────────────────────────────────────────
dəyişən buGün = date(2025, 3, 20)                  // Novruz
dəyişən sonra = buGün + timedelta(days: 40)         // adlı arqument
yaz("Novruzdan 40 gün sonra:", sonra.isoformat())

// ── Operatorlar ──────────────────────────────────────────────────────
dəyişən k = Fraction(1, 3) + Fraction(1, 6)
yaz("1/3 + 1/6 =", k, "| onluq:", k kimi onluq)

// ── Alqor funksiyası Python-a (geri çağırış) ─────────────────────────
yaz("Hasil:", reduce((a, b) => a * b, [1, 2, 3, 4, 5]))

// ── Çevrilmə: lüğət ↔ dict, siyahı ↔ list ───────────────────────────
dəyişən m = json.dumps({"ad": "Alqor", "il": 2025, "teqlər": ["dil", "az"]},
                       ensure_ascii: yanlış)
yaz(m)
dəyişən geri = json.loads(m)
yaz(geri["teqlər"], tip(geri))

// ── Python istisnası → tutula bilən Alqor xətası ─────────────────────
cəhd et
    json.loads("pozulmuş")
tut (x: PythonXətası)
    yaz("Tutuldu:", x.pythonTipi)
son